package com.axon.mvc.events
{
	import com.axon.base.events.AxEvent;

	public class AxCallControllerEvent extends AxEvent
	{
		//////////////////////////////////////////////////////////////////////////////////////////////////////
		
		static public const CALL_CONTROLLER_FIRED: String = "AxMvcCallControllerEvent";

		//////////////////////////////////////////////////////////////////////////////////////////////////////
		
		private var fModelClass	: Class;
		private var fAction		: String;
		private var fBody		: Object;
		private var fExtraInfo	: Object;
		
		//////////////////////////////////////////////////////////////////////////////////////////////////////
		
		public function AxCallControllerEvent(modelClass: Class, action: String, body: Object = null, extraInfo: Object = null)
		{
			super(CALL_CONTROLLER_FIRED);
			
			fModelClass	= modelClass;
			fAction 	= action;
			fBody		= body;
			fExtraInfo	= extraInfo;  
		}
		
		//////////////////////////////////////////////////////////////////////////////////////////////////////
		
		public function get modelClass()	: Class	 { return fModelClass; }
		public function get action()		: String { return fAction; }
		public function get body()			: Object { return fBody; }
		public function get extraInfo()		: Object { return fExtraInfo; }
		
	}
}